﻿Imports System.Data
Imports System.Data.SqlClient
Partial Class Sistema_ModuloPersonas
    Inherits System.Web.UI.Page
    Dim editar As Boolean
    Dim Edad As Integer
    Dim mensaje As String
    Dim Exepcion As String
    Dim NumeroError As Integer
    Public iderespuesta As Integer
    Dim actualizar As Integer
    Dim parentesco As Integer
    Public añovisita As String
    Public mesvisita As String
    Public diavisita As String

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        hdIdHogar.Value = Request.QueryString.Item("idHogar")
        traerfechaderegistrolevantamientodeinformacion()
        If Page.IsPostBack = False Then
            If String.IsNullOrEmpty(Request.QueryString.Item("idPersona")) = False Then
                hdIdPersona.Value = Request.QueryString.Item("idPersona")
            End If
            llenarCombos()

            If hdIdPersona.Value <> 0 Then
                traerPersona()
                traerNovedades()
                editar = True
                Panel1.Visible = True
            End If

            Using bd As New BdHogaresDataContext ' Verifica si es primer registro para predeterminar el jefe de hogar 
                Dim a = From i In bd.Web_Caracterizacionpersonas
                          Where i.idHogar = hdIdHogar.Value
                          Select i
                If a.Count = 0 Then
                    TxtConsecutivo.Text = "01"
                    TxtConsecutivo.Enabled = False
                    rbParentescojefehogar.SelectedValue = 1
                    rbParentescojefehogar.Enabled = False
                    Response.Write("<script>alert('Es el primer miembro que se registra para este hogar, debe registrarse el jefe de hogar')</script>")
                Else
                    If Not hdIdPersona.Value <> 0 Then
                        Using bda As New BdHogaresDataContext 'Verifica el máximo consecutivo del hogar
                            Dim b = (From s In bda.Web_Caracterizacionpersonas
                                      Where s.idHogar = hdIdHogar.Value
                                      Select s.consecutivopersona Order By consecutivopersona).Max()
                            Dim consecutivo = b.Value
                            TxtConsecutivo.Text = consecutivo + 1
                            'TxtConsecutivo.Enabled = False
                            rbParentescojefehogar.Items(0).Enabled = False
                        End Using
                    End If


                End If
            End Using


        End If

        If hdIdPersona.Value <> 0 Then
            editar = True
        End If

        listas()
    End Sub
    Sub traerfechaderegistrolevantamientodeinformacion()
        Using db As New BdHogaresDataContext
            Dim a = From i In db.Web_Visitas
                    Where (i.idHogar = hdIdHogar.Value And i.Visita = "Levantamiento de información")
                    Select i

            Dim fechavisita = a.FirstOrDefault.FechaDiligenciamiento.ToString
            diavisita = fechavisita.Substring(0, 2).ToString
            mesvisita = fechavisita.Substring(3, 2).ToString
            añovisita = fechavisita.Substring(6, 4).ToString

        End Using


    End Sub
    Sub llenarCombos()
        Using cnn As New SqlConnection(ConfigurationManager.ConnectionStrings("CNNdb").ConnectionString)
            cnn.Open()
            LlenarItems(rbsexo, "Sexo", cnn)
            LlenarItems(rbParentescojefehogar, "ParentescoJefeHogar", cnn)
            LlenarItems(rbculturapuebloorigen, "CulturaLenguaPueblo", cnn)
            LlenarItems(rbtipoafiliacion, "TipoAfiliacion", cnn)
            LlenarItems(rbReconoceDiscapacidad, "sino", cnn)
            LlenarItems(rbTipodedocumento, "tipodocumento", cnn)
            LlenarItems(ddltipoafiliacionotro, "otroafiliacionsalud", cnn)
            LlenarItems(rbculturareconocecomo, "culturareconocecomo", cnn)
            cnn.Close()
        End Using
    End Sub

    Sub LlenarItems(ByVal objeto As Object, ByVal pregunta As String, ByRef cnn As SqlConnection)
        If pregunta = "sino" Then : objeto.Items.Add(New ListItem("Sí", 1)) : objeto.Items.Add(New ListItem("No", 2)) : Exit Sub : End If
        Using drDatos As SqlDataReader = Funciones.TraerListas(pregunta, cnn)
            With objeto
                .DataSource = drDatos
                .DataTextField = "nombreopcion"
                .DataValueField = "valoropcion"
                .DataBind()
            End With
        End Using

    End Sub

    Sub listas()
        Dim rbl As RadioButtonList
        rbl = CType(rbReconoceDiscapacidad, RadioButtonList) : For Each li As ListItem In rbl.Items : li.Attributes.Add("onclick", "frbReconoceDiscapacidad()") : Next
        rbl = CType(rbtipoafiliacion, RadioButtonList) : For Each li As ListItem In rbl.Items : li.Attributes.Add("onclick", "frbtipoafiliacion()") : Next
        rbl = CType(rbculturareconocecomo, RadioButtonList) : For Each li As ListItem In rbl.Items : li.Attributes.Add("onclick", "frbculturareconocecomo()") : Next
        rbl = CType(rbTipodedocumento, RadioButtonList) : For Each li As ListItem In rbl.Items : li.Attributes.Add("onclick", "frbTipodedocumento()") : Next
        rbl.Dispose()
        rbl = Nothing

        Dim ddl As DropDownList
        ddl = CType(rbculturapuebloorigen, DropDownList) : For Each li As ListItem In ddl.Items : li.Attributes.Add("onclick", "frbculturapuebloorigen()") : Next
        ddl.Dispose()
        ddl = Nothing

        CType(txtNumerodedocumento, TextBox).Attributes.Add("onKeyPress", "return ftxtNumerodedocumento(event)")
        CType(txtNombres, TextBox).Attributes.Add("onKeyPress", "return esChar(event)")
        CType(txtapellidos, TextBox).Attributes.Add("onKeyPress", "return esChar(event)")
        CType(txtidiomacual, TextBox).Attributes.Add("onKeyPress", "return esChar(event)")
        CType(txtidiomacual, TextBox).Attributes.Add("onKeyPress", "return esChar(event)")
        CType(TxtConsecutivo, TextBox).Attributes.Add("onBlur", "fTxtConsecutivo()")
        'CType(txtfechadenacimiento, TextBox).Attributes.Add("onBlur", "fcalcularedad()")
        CType(cbidiomaotro, CheckBox).Attributes.Add("onclick", "frbidioma()")
        CType(CbOtra, CheckBox).Attributes.Add("onclick", "frblimitacion()")
        CType(CbNinguna, CheckBox).Attributes.Add("onclick", "fCbNinguna()")

    End Sub

#Region "cargar Datos"

    Sub traerNovedades()
        Using db As New BdHogaresDataContext
            Dim a = From i In db.web_Novedades
                    Where (i.idPersona = hdIdPersona.Value)
                    Select i
            grdnovedades.DataSource = a
            grdnovedades.DataBind()
        End Using
    End Sub

    Sub traerPersona() 'carga los controles con los datos de la bd
        Using bd As New BdHogaresDataContext
            Dim a = From i In bd.Web_Caracterizacionpersonas
                      Where i.idPersona = hdIdPersona.Value
                      Select i
            Dim Persona As New Web_Caracterizacionpersona
            Persona = a.FirstOrDefault()
            TxtConsecutivo.Text = IIf(IsDBNull(Persona.consecutivopersona), "", Persona.consecutivopersona)
            txtNombres.Text = IIf(IsDBNull(Persona.Nombres), "", Persona.Nombres)
            txtapellidos.Text = IIf(IsDBNull(Persona.Apellidos), "", Persona.Apellidos)
            rbTipodedocumento.SelectedValue = IIf(IsDBNull(Persona.tipodocumento), 0, Persona.tipodocumento)
            txtNumerodedocumento.Text = IIf(IsDBNull(Persona.Documento), "", Persona.Documento)
            rbsexo.SelectedValue = IIf(IsDBNull(Persona.sexo), 0, Persona.sexo)
            cbLGBT.Checked = IIf(IIf(IsDBNull(Persona.LGBT), 0, Persona.LGBT) = 1, True, False)
            txtfechadenacimiento.Text = IIf(IsDBNull(Persona.fechadenacimiento), "", Persona.fechadenacimiento)
            txtañoscumplidos.Text = IIf(IsDBNull(Persona.edadañoscumplidos), "", Persona.edadañoscumplidos)
            txtmesescumplidos.Text = IIf(IsDBNull(Persona.mesescumplidos), "", Persona.mesescumplidos)
            rbParentescojefehogar.SelectedValue = IIf(IsDBNull(Persona.parentescojefehogar), 0, Persona.parentescojefehogar)
            rbculturapuebloorigen.SelectedValue = IIf(IsDBNull(Persona.culturalenguapuebloorigen), 0, Persona.culturalenguapuebloorigen)
            txtgrupoindigena.Text = IIf(IsDBNull(Persona.culturalenguapuebloorigenCual), "", Persona.culturalenguapuebloorigenCual)
            cbidiomaEspañol.Checked = IIf(IIf(IsDBNull(Persona.idiomaEspañol), 0, Persona.idiomaEspañol) = 1, True, False)
            cbidiomaLenguaNativa.Checked = IIf(IIf(IsDBNull(Persona.idiomaLenguaNativa), 0, Persona.idiomaLenguaNativa) = 1, True, False)
            cbidiomaotro.Checked = IIf(IIf(IsDBNull(Persona.idiomaotro), 0, Persona.idiomaotro) = 1, True, False)
            txtidiomacual.Text = IIf(IsDBNull(Persona.idiomaCual), "", Persona.idiomaCual)
            rbtipoafiliacion.SelectedValue = IIf(IsDBNull(Persona.tipoafiliacionsalud), 0, Persona.tipoafiliacionsalud)
            ddltipoafiliacionotro.SelectedValue = IIf(IsDBNull(Persona.ddltipoafiliacionotro), 0, Persona.ddltipoafiliacionotro)
            txtnombreeps.Text = IIf(IsDBNull(Persona.nombreeps), "", Persona.nombreeps)
            txtnombreips.Text = IIf(IsDBNull(Persona.nombreips), "", Persona.nombreips)
            rbReconoceDiscapacidad.SelectedValue = IIf(IsDBNull(Persona.ReconoceDiscapacidad), 0, Persona.ReconoceDiscapacidad)
            CbPensar.Checked = IIf(IIf(IsDBNull(Persona.Pensar), 0, Persona.Pensar) = 1, True, False)
            CbHablar.Checked = IIf(IIf(IsDBNull(Persona.Hablar), 0, Persona.Hablar) = 1, True, False)
            CbDesplazarse.Checked = IIf(IIf(IsDBNull(Persona.Desplazarse), 0, Persona.Desplazarse) = 1, True, False)
            CbOir.Checked = IIf(IIf(IsDBNull(Persona.Oir), 0, Persona.Oir) = 1, True, False)
            CbRetener.Checked = IIf(IIf(IsDBNull(Persona.Retener), 0, Persona.Retener) = 1, True, False)
            CbMantener.Checked = IIf(IIf(IsDBNull(Persona.Mantener), 0, Persona.Mantener) = 1, True, False)
            CbRelacionarse.Checked = IIf(IIf(IsDBNull(Persona.Relacionarse), 0, Persona.Relacionarse) = 1, True, False)
            CbDistinguir.Checked = IIf(IIf(IsDBNull(Persona.Distinguir), 0, Persona.Distinguir) = 1, True, False)
            CbMasticar.Checked = IIf(IIf(IsDBNull(Persona.Masticar), 0, Persona.Masticar) = 1, True, False)
            CbCaminar.Checked = IIf(IIf(IsDBNull(Persona.Caminar), 0, Persona.Caminar) = 1, True, False)
            CbPercibir.Checked = IIf(IIf(IsDBNull(Persona.Percibir), 0, Persona.Percibir) = 1, True, False)
            CbAlimentarse.Checked = IIf(IIf(IsDBNull(Persona.Alimentarse), 0, Persona.Alimentarse) = 1, True, False)
            CbLlevar.Checked = IIf(IIf(IsDBNull(Persona.Llevar), 0, Persona.Llevar) = 1, True, False)
            CbCambiar.Checked = IIf(IIf(IsDBNull(Persona.Cambiar), 0, Persona.Cambiar) = 1, True, False)
            CbOtra.Checked = IIf(IIf(IsDBNull(Persona.Otra), 0, Persona.Otra) = 1, True, False)
            CbNinguna.Checked = IIf(IIf(IsDBNull(Persona.Ninguna), 0, Persona.Ninguna) = 1, True, False)
            txtlimitacioncual.Text = IIf(IsDBNull(Persona.tienelimitacionCual), "", Persona.tienelimitacionCual)
            txtObservaciones.Text = IIf(IsDBNull(Persona.observaciones), "", Persona.observaciones)
            rbculturareconocecomo.SelectedValue = IIf(IsDBNull(Persona.culturaconocecome), 0, Persona.culturaconocecome)
            txtculturareconocecomo.Text = IIf(IsDBNull(Persona.culturaconocecomecual), "", Persona.culturaconocecomecual)
            'SAMUEL CARGAR EL MUNICIPIO
            If Not (Persona.Municipioeps Is Nothing) Then
                Municipio.cargarMunicipio(Persona.Municipioeps)
            End If
            'FIN SAMUEL
        End Using
    End Sub
#End Region

#Region "Metodos"

    Sub guardar() 'Guarda los datos en la bd
        Dim Persona As New Web_Caracterizacionpersona
        Persona.consecutivopersona = TxtConsecutivo.Text
        Persona.Nombres = txtNombres.Text
        Persona.Apellidos = txtapellidos.Text
        Persona.tipodocumento = rbTipodedocumento.SelectedValue
        Persona.Documento = txtNumerodedocumento.Text
        Persona.sexo = rbsexo.SelectedValue
        Persona.LGBT = IIf(cbLGBT.Checked = True, 1, 0)
        Persona.fechadenacimiento = txtfechadenacimiento.Text
        Persona.edadañoscumplidos = txtañoscumplidos.Text
        Persona.mesescumplidos = txtmesescumplidos.Text
        Persona.parentescojefehogar = rbParentescojefehogar.SelectedValue
        Persona.culturalenguapuebloorigen = rbculturapuebloorigen.SelectedValue
        Persona.culturalenguapuebloorigenCual = txtgrupoindigena.Text
        Persona.idiomaEspañol = IIf(cbidiomaEspañol.Checked = True, 1, 0)
        Persona.idiomaLenguaNativa = IIf(cbidiomaLenguaNativa.Checked = True, 1, 0)
        Persona.idiomaotro = IIf(cbidiomaotro.Checked = True, 1, 0)
        Persona.idiomaCual = txtidiomacual.Text
        Persona.tipoafiliacionsalud = rbtipoafiliacion.SelectedValue
        Persona.ddltipoafiliacionotro = ddltipoafiliacionotro.SelectedValue
        Persona.nombreeps = txtnombreeps.Text
        Persona.nombreips = txtnombreips.Text
        Persona.ReconoceDiscapacidad = rbReconoceDiscapacidad.SelectedValue
        Persona.Pensar = IIf(CbPensar.Checked = True, 1, 0)
        Persona.Hablar = IIf(CbHablar.Checked = True, 1, 0)
        Persona.Desplazarse = IIf(CbDesplazarse.Checked = True, 1, 0)
        Persona.Oir = IIf(CbOir.Checked = True, 1, 0)
        Persona.Retener = IIf(CbRetener.Checked = True, 1, 0)
        Persona.Mantener = IIf(CbMantener.Checked = True, 1, 0)
        Persona.Relacionarse = IIf(CbRelacionarse.Checked = True, 1, 0)
        Persona.Distinguir = IIf(CbDistinguir.Checked = True, 1, 0)
        Persona.Masticar = IIf(CbMasticar.Checked = True, 1, 0)
        Persona.Caminar = IIf(CbCaminar.Checked = True, 1, 0)
        Persona.Percibir = IIf(CbPercibir.Checked = True, 1, 0)
        Persona.Alimentarse = IIf(CbAlimentarse.Checked = True, 1, 0)
        Persona.Llevar = IIf(CbLlevar.Checked = True, 1, 0)
        Persona.Cambiar = IIf(CbCambiar.Checked = True, 1, 0)
        Persona.Otra = IIf(CbOtra.Checked = True, 1, 0)
        Persona.Ninguna = IIf(CbNinguna.Checked = True, 1, 0)
        Persona.tienelimitacionCual = txtlimitacioncual.Text
        Persona.observaciones = txtObservaciones.Text
        Persona.idHogar = hdIdHogar.Value
        Persona.culturaconocecome = rbculturareconocecomo.SelectedValue
        Persona.culturaconocecomecual = txtculturareconocecomo.Text

        'SAMUEL GUARDAR EL MUNICIPIO
        Persona.Municipioeps = IIf(rbtipoafiliacion.SelectedValue = 3, Nothing, Municipio.CodMunicipio)
        'SAMUEL

        Using bd As New BdHogaresDataContext
            bd.Web_Caracterizacionpersonas.InsertOnSubmit(Persona)
            bd.SubmitChanges()
            bd.registrarLog(Context.User.Identity.Name, 5, Request.CurrentExecutionFilePath)
        End Using
    End Sub

    Sub actualizardatos() ' Actualiza la informacion cuando ya existe el registro
        Using bda As New BdHogaresDataContext
            Dim Persona = (From i In bda.Web_Caracterizacionpersonas
                      Where i.idPersona = hdIdPersona.Value
                      Select i).Single
            Persona.consecutivopersona = TxtConsecutivo.Text
            Persona.Nombres = txtNombres.Text
            Persona.Apellidos = txtapellidos.Text
            Persona.tipodocumento = rbTipodedocumento.SelectedValue
            Persona.Documento = txtNumerodedocumento.Text
            Persona.sexo = rbsexo.SelectedValue
            Persona.LGBT = IIf(cbLGBT.Checked = True, 1, 0)
            Persona.fechadenacimiento = txtfechadenacimiento.Text
            Persona.edadañoscumplidos = txtañoscumplidos.Text
            Persona.mesescumplidos = txtmesescumplidos.Text
            Persona.parentescojefehogar = rbParentescojefehogar.SelectedValue
            Persona.culturalenguapuebloorigen = rbculturapuebloorigen.SelectedValue
            Persona.culturalenguapuebloorigenCual = txtgrupoindigena.Text
            Persona.idiomaEspañol = IIf(cbidiomaEspañol.Checked = True, 1, 0)
            Persona.idiomaLenguaNativa = IIf(cbidiomaLenguaNativa.Checked = True, 1, 0)
            Persona.idiomaotro = IIf(cbidiomaotro.Checked = True, 1, 0)
            Persona.idiomaCual = txtidiomacual.Text
            Persona.tipoafiliacionsalud = rbtipoafiliacion.SelectedValue
            Persona.ddltipoafiliacionotro = ddltipoafiliacionotro.SelectedValue
            Persona.nombreeps = txtnombreeps.Text
            Persona.nombreips = txtnombreips.Text
            Persona.ReconoceDiscapacidad = rbReconoceDiscapacidad.SelectedValue
            Persona.Pensar = IIf(CbPensar.Checked = True, 1, 0)
            Persona.Hablar = IIf(CbHablar.Checked = True, 1, 0)
            Persona.Desplazarse = IIf(CbDesplazarse.Checked = True, 1, 0)
            Persona.Oir = IIf(CbOir.Checked = True, 1, 0)
            Persona.Retener = IIf(CbRetener.Checked = True, 1, 0)
            Persona.Mantener = IIf(CbMantener.Checked = True, 1, 0)
            Persona.Relacionarse = IIf(CbRelacionarse.Checked = True, 1, 0)
            Persona.Distinguir = IIf(CbDistinguir.Checked = True, 1, 0)
            Persona.Masticar = IIf(CbMasticar.Checked = True, 1, 0)
            Persona.Caminar = IIf(CbCaminar.Checked = True, 1, 0)
            Persona.Percibir = IIf(CbPercibir.Checked = True, 1, 0)
            Persona.Alimentarse = IIf(CbAlimentarse.Checked = True, 1, 0)
            Persona.Llevar = IIf(CbLlevar.Checked = True, 1, 0)
            Persona.Cambiar = IIf(CbCambiar.Checked = True, 1, 0)
            Persona.Otra = IIf(CbOtra.Checked = True, 1, 0)
            Persona.Ninguna = IIf(CbNinguna.Checked = True, 1, 0)
            Persona.tienelimitacionCual = txtlimitacioncual.Text
            Persona.observaciones = txtObservaciones.Text
            Persona.culturaconocecome = rbculturareconocecomo.SelectedValue
            Persona.culturaconocecomecual = txtculturareconocecomo.Text

            'SAMUEL GUARDAR EL MUNICIPIO
            Persona.Municipioeps = IIf(rbtipoafiliacion.SelectedValue = 3, Nothing, Municipio.CodMunicipio)
            'SAMUEL

            bda.SubmitChanges()
            bda.registrarLog(Context.User.Identity.Name, 6, Request.CurrentExecutionFilePath)
        End Using

    End Sub
#End Region
#Region "Enventos controles"
    Protected Sub btnGuardar_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnGuardar.Click

        If Page.IsValid = False Then
            Response.Write("<script>alert('Datos incompletos.')</script>")
            Exit Sub
        Else

            Try
                If editar = True Then
                    actualizardatos()
                Else
                    Using bd As New BdHogaresDataContext ' Verifica si ya se registro un jefe de hogar para el hogar
                        Dim a = From i In bd.Web_Caracterizacionpersonas
                                  Where i.idHogar = hdIdHogar.Value And i.parentescojefehogar = 1
                                  Select i
                        If a.Count > 0 Then
                            If rbParentescojefehogar.SelectedValue = 1 Then
                                Response.Write("<script>alert('Ya existe un jefe de hogar en este hogar, los datos no se han guardado')</script>")
                                Exit Sub
                            End If
                        End If
                    End Using

                    Using bd As New BdHogaresDataContext ' Verifica si ya se registro un miembro del hogar con ese consecutivo
                        Dim a = From i In bd.Web_Caracterizacionpersonas
                                  Where i.idHogar = hdIdHogar.Value And i.consecutivopersona = TxtConsecutivo.Text
                                  Select i
                        If a.Count > 0 Then
                            Response.Write("<script>alert('Ya existe un miembro en el hogar con ese consecutivo, los datos no se han guardado')</script>")
                            Exit Sub
                        End If
                    End Using


                    Using bd As New BdHogaresDataContext ' Verifica si ya se registro un miembro con ese numero de cedula 
                        If rbTipodedocumento.SelectedValue <> "8" Then
                            Dim a = From i In bd.Web_Caracterizacionpersonas
                                      Where i.Documento = txtNumerodedocumento.Text
                                      Select i
                            If a.Count > 0 Then
                                Response.Write("<script>alert('Ya existe una persona con ese numero de identificación, los datos no se han guardado')</script>")
                                Exit Sub
                            End If
                        End If
                    End Using
                    guardar()
                End If
                Response.Redirect("HogaresConsulta.aspx?idHogar=" & hdIdHogar.Value)
            Catch ex As Exception
                Throw ex
            End Try
        End If
    End Sub

    Protected Sub CustomValidator1_ServerValidate(ByVal source As Object, ByVal args As System.Web.UI.WebControls.ServerValidateEventArgs) Handles CustomValidator1.ServerValidate

        Dim mensaje As New StringBuilder

        If rbTipodedocumento.SelectedValue <> "8" And txtNumerodedocumento.Text = "" Then
            mensaje.AppendLine("</br>Debe ingresar el número de documento")
        End If

        If rbculturareconocecomo.SelectedValue = "9" And txtculturareconocecomo.Text = "" Then
            mensaje.AppendLine("</br>En la pregunta 2.  Por su cultura, lengua, pueblo de origen o rasgos físicos se reconoce como:, debe responder cual otro")
        End If

        If rbculturareconocecomo.SelectedValue = "10" And rbculturapuebloorigen.SelectedValue = 0 Then
            mensaje.AppendLine("</br>En la pregunta 2.  Por su cultura, lengua, pueblo de origen o rasgos físicos se reconoce como:, debe responder a cual grupo indigena corresponde")
        End If


        If rbculturapuebloorigen.SelectedValue = "90" And txtgrupoindigena.Text = "" Then
            mensaje.AppendLine("</br>En la pregunta 2.  Por su cultura, lengua, pueblo de origen o rasgos físicos se reconoce como:, debe responder a cual otro grupo indigena pertenece")
        End If

        If cbidiomaEspañol.Checked = False And cbidiomaLenguaNativa.Checked = False And cbidiomaotro.Checked = False Then
            mensaje.AppendLine("</br>Debe responder que idioma habla")
        End If


        If cbidiomaotro.Checked = True And txtidiomacual.Text = "" Then
            mensaje.AppendLine("</br>Debe responder que otro idioma habla")
        End If

        If rbtipoafiliacion.SelectedValue = "4" And ddltipoafiliacionotro.SelectedValue = "0" Then
            mensaje.AppendLine("</br>En la pregunta 3 debe responder cual otro tipo de afiliación tiene")
        End If

        If (rbtipoafiliacion.SelectedValue = "1" Or rbtipoafiliacion.SelectedValue = "2") And (txtnombreeps.Text = "") Then
            mensaje.AppendLine("</br>En la pregunta 3 debe responder que EPS tiene")
        End If

        If (rbtipoafiliacion.SelectedValue = "1" Or rbtipoafiliacion.SelectedValue = "2") And (txtnombreips.Text = "") Then
            mensaje.AppendLine("</br>En la pregunta 3 debe responder que IPS tiene")
        End If

        Dim contador As Integer
        If CbPensar.Checked = True Then
            contador = contador + 1
        End If



        If CbRetener.Checked = True Then
            contador = contador + 1
        End If

        If CbRelacionarse.Checked = True Then
            contador = contador + 1
        End If

        If CbMasticar.Checked = True Then
            contador = contador + 1
        End If

        If CbDesplazarse.Checked = True Then
            contador = contador + 1
        End If

        If CbPercibir.Checked = True Then
            contador = contador + 1
        End If


        If CbLlevar.Checked = True Then
            contador = contador + 1
        End If


        If CbOtra.Checked = True Then
            contador = contador + 1
        End If

        If CbHablar.Checked = True Then
            contador = contador + 1
        End If


        If CbOir.Checked = True Then
            contador = contador + 1
        End If


        If CbMantener.Checked = True Then
            contador = contador + 1
        End If

        If CbDistinguir.Checked = True Then
            contador = contador + 1
        End If

        If CbCaminar.Checked = True Then
            contador = contador + 1
        End If


        If CbAlimentarse.Checked = True Then
            contador = contador + 1
        End If

        If CbCambiar.Checked = True Then
            contador = contador + 1
        End If


        If CbNinguna.Checked = True Then
            contador = contador + 1
        End If

        If rbReconoceDiscapacidad.SelectedValue = "1" And contador = 0 Then
            mensaje.AppendLine("</br>En la pregunta 4 debe responder cual discapacidad")
        End If


        If CbOtra.Checked = True And txtlimitacioncual.Text = "" Then
            mensaje.AppendLine("</br>En la pregunta 4 debe responder que otra discapacidad")
        End If

        If mensaje.Length > 0 Then
            args.IsValid = False
            Me.CustomValidator1.ErrorMessage = mensaje.ToString()
            Me.CustomValidator1.Enabled = True
        End If

    End Sub

    Protected Sub btnCancelar_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnCancelar.Click
        Response.Redirect("HogaresConsulta.aspx?idHogar=" & hdIdHogar.Value)
    End Sub
#End Region

    Protected Sub txtfechadenacimiento_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtfechadenacimiento.TextChanged
        traeredad(sender.text)
    End Sub
    Sub traeredad(ByVal fechanacimiento As String)
        'Using bd As New BdHogaresDataContext
        '    Dim a = From i In bd.Web_Caracterizacionpersonas
        '              Where i.idPersona = hdIdPersona.Value
        '              Select i.edadañoscumplidos
        '    Edad = a.First()
        '    hdEdad.Value = Edad
        'End Using
        'If Edad < 9 Then
        '    rbSabeLeerEscribir.Enabled = False
        'End If
        Dim fechanacimientoD As Date
        Dim fechavisita As Date


        Try

            fechanacimientoD = CDate(fechanacimiento)


            Using db As New BdHogaresDataContext
                Dim a = From i In db.Web_Visitas
                        Where (i.idHogar = hdIdHogar.Value And i.Visita = "Levantamiento de información")
                        Select i
                fechavisita = a.FirstOrDefault.FechaDiligenciamiento.ToString
            End Using

        Catch ex As Exception
            Exit Sub
        End Try

        Dim anios As Integer = DateDiff(DateInterval.Year, fechanacimientoD, fechavisita)
        If (fechavisita.Month < fechanacimientoD.Month Or (fechavisita.Month = fechanacimientoD.Month And fechavisita.Day < fechanacimientoD.Day)) Then
            anios -= 1
        End If
        txtañoscumplidos.Text = anios
        Dim meses As Integer = DateDiff(DateInterval.Month, fechanacimientoD, fechavisita)
        txtmesescumplidos.Text = meses Mod 12
    End Sub
End Class




















































